export function hexToRgb (hex) {
  const t = {}
  const bits = (hex.length == 4) ? 4 : 8; const // 假设是shorthand。 #fff, 那么bits为4位, 每一位代表的个属性, 其他的为8位 每两位代表一个属性 #ffffff00
    mask = (1 << bits) - 1 // 表示字节占位符。 向左移4位或8位，var a = (1 << 4 ) - 1 -> 10000 - 1,  a.toString(2); // 1111。或者 8位的 1111 1111
  hex = Number(`0x${hex.substr(1)}`) // #ff0000 转变为16进制0xff0000;
  if (isNaN(hex)) {
    return null // Color
  }
  ['b', 'g', 'r'].forEach((x) => {
    const c = hex & mask
    hex >>= bits
    t[x] = bits == 4 ? 17 * c : c // 0xfff ， 一个f应该代表 255, 应该当[0-255]，按15等份划分，每一等份间隔 17。 所以获得的值须要乘以17, 才干表示rgb中255的值
  })
  t.a = 1
  return t // Color
}
